package com.molichuxing.services.property;

public enum SmsTemplateEnum {

    /**
     * 用户验证码
     */
    USER_CODE(1, "SMS_175450001"),

    /**
     * 语音验证码
     */
    VOICE_CODE(2, "语音验证码"),

    /**
     * OP系统添加账号提交成功时触发
     */
    CREATE_OP_ACCOUNT_SUCCESS(3, "SMS_175485474"),

    /**
     * 经销商系统添加账号提交成功时触发
     */
    CREATE_DEALER_ACCOUNT_SUCCESS(4, "SMS_178451665"),

    /**
     * 茉莉平台和车联网系统重置密码触发
     */
    RESET_PASSWORD_BY_OP(5, "SMS_175480456"),

    /**
     * 经销商系统重置密码触发
     */
    RESET_PASSWORD_BY_DEALER(6, "SMS_175495473"),
    /**
     * 经销商修改邮箱提交成功时触发
     */
    MODIFY_DEALER_ACCOUNT_SUCCESS(7, "SMS_176526665"),

    /**
     * 门店短信登陆
     */
    STORE_CODE(8, "SMS_175435584"),

    /**
     * 新用户注册
     */
    NEW_USER_REGISTER(9, "SMS_176913134"),

    /**
     * 驾驶证提交人工审核
     */
    DRIVING_SUBMIT_AUDIT(10, "SMS_175460002"),

    /**
     * 驾驶证后台审核通过
     */
    DRIVING_AUDIT_PASS(11, "SMS_175455004"),

    /**
     * 驾驶证后台审核驳回
     */
    DRIVING_AUDIT_REJECT(12, "SMS_175470001"),

    /**
     * 违章未处理提醒
     */
    VIOLATION_INFORM(13, "SMS_175460020"),

    /**
     * 待提车订单，提车提醒短信
     */
    ORDER_SMS_ONE(201, "SMS_175450015"),

    /**
     * 还款提醒告知
     */
    ORDER_SMS_TWO(202, "SMS_175460017"),

    /**
     * 还款逾期告知
     */
    ORDER_SMS_THREE(203, "SMS_149423227"),

    /**
     * 续订提醒
     */
    ORDER_SMS_FOUE(204, "SMS_178456673"),

    /**
     * 加购里程提醒
     */
    ORDER_SMS_FIVE(205, "SMS_178461672"),

    /**
     * 专属里程（月付）支付
     */
    ORDER_PAY_SMS_ONE(206, "SMS_175465004"),

    /**
     * 专属里程（全款）支付
     */
    ORDER_PAY_SMS_TWO(207, "SMS_175470004"),

    /**
     * 订阅里程支付
     */
    ORDER_PAY_SMS_THREE(208, "SMS_175455008"),

    /**
     * 订阅里程-续订支付
     */
    ORDER_PAY_SMS_FOUE(209, "SMS_175455009"),

    /**
     * 订阅里程-加购支付
     */
    ORDER_PAY_SMS_FIVE(210, "SMS_175470003"),

    /**
     * 专属里程-还款
     */
    ORDER_PAY_SMS_SIX(211, "SMS_149417930"),

    /**
     * 提车
     */
    ORDER_DELIVERY_SMS(212, "SMS_175450016"),

    /**
     * 审核提醒
     */
    ORDER_AUDIT_SMS(213, "SMS_175460012"),

    /**
     * 订单审核结果通知-专属通过
     */
    ORDER_AUDIT_SMS_ONE(214, "SMS_175470006"),

    /**
     * 订单审核结果通知-专属驳回
     */
    ORDER_AUDIT_SMS_TWO(215, "SMS_175470007"),

    /**
     * 订单审核结果通知-订阅通过
     */
    ORDER_AUDIT_SMS_THREE(216, "SMS_175450014"),

    /**
     * 订单审核结果通知-订阅驳回
     */
    ORDER_AUDIT_SMS_FOVE(217, "SMS_175465008"),

    /**
     * 订单审核结果通知-订阅驳回
     */
    ORDER_RETURN_SMS(219, "SMS_175460019"),

    /**
     * 防诈骗短信
     */
    PREVENT_FRAUD(100, "SMS_175460004"),

    /**
     * 保养提醒
     */
    MAINTENANCE_REMINDER(218, "SMS_175470025"),

    /**
     * 报备审核结果确认
     */
    ACCIDENT_CONFIRM(101, "SMS_175460027"),

    /**
     * 报备审核结果无效
     */
    ACCIDENT_INVALID(102, "SMS_175460029"),

    /**
     * 结案审核结果通知
     */
    CASE_CONFIRM(103, "SMS_175470022"),

    /**
     * 保养审核结果通过
     */
    MAINTENANCE_CONFIRM(104, "SMS_175460030"),

    /**
     * 保养审核结果无效
     */
    MAINTENANCE_INVALID(105, "SMS_175465015"),

    /**
     * 车辆解锁成功
     */
    CAR_DECONTROL_SUCCESS(301, "SMS_188641029"),

    /**
     * 车辆解锁失败
     */
    CAR_DECONTROL_FAIL(302, "SMS_188631046");

    int value;
    String name;

    SmsTemplateEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }


    /**
     * 通过value获取枚举的name
     *
     * @param value
     * @return
     */
    public static String getName(int value) {
        SmsTemplateEnum enumerate = getEnum(value);
        return enumerate == null ? null : enumerate.getName();
    }

    /**
     * 通过value获取枚举
     *
     * @param value
     * @return
     */
    public static SmsTemplateEnum getEnum(int value) {
        for (SmsTemplateEnum enumerate : SmsTemplateEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate;
            }
        }
        return null;
    }
}
